package config

import (
	"192.168.1.75/go-pkg/gormx"
	"192.168.1.75/go-pkg/logx"
	"192.168.1.75/go-pkg/redisx"
)

var Config ConfigType

type ConfigType struct {
	// 对外http接口端口
	HTTPPort string `mapstructure:"http_port"`
	// grpc端口
	GRPCPort string `mapstructure:"grpc_port"`
	// 跨域
	Cors struct {
		Enable       bool     `mapstructure:"enable"`
		AllowOrigins []string `mapstructure:"allow_origins"`
		AllowMethods []string `mapstructure:"allow_methods"`
		AllowHeaders []string `mapstructure:"allow_headers"`
	} `mapstructure:"cors"`
	// mysql配置
	Mysql gormx.Config `mapstructure:"mysql"`
	// 自动数据迁移检查
	AutoMigrate bool `mapstructure:"auto_migrate"`
	// 禁止重启检查，主要用于本地开发
	DisableRestartCheck bool `mapstructure:"disable_restart_check"`
	// redis 配置
	Redis redisx.Config `mapstructure:"redis"`
	// 日志配置
	Log logx.Config `mapstructure:"log"`
	// 文件保存路径
	FileSaveDir string `mapstructure:"file_save_dir"`
	// 本地服务,serviceName-serviceConf【ip:http_port:grpc_port】
	LocalServices map[string]string `mapstructure:"local_services"`
	XunFeiYun     struct {
		ApiKey    string `mapstructure:"api_key"`
		ApiSecret string `mapstructure:"api_secret"`
		Appid     string `mapstructure:"appid"`
	} `mapstructure:"xunfeiyun"`

	EnvType string `mapstructure:"env_type"`
}
